package admin.dao;

import admin.bean.Eadmin;
import exception.ReCodeException;

import java.util.List;
import java.util.Map;

public interface EadminDao {

    /**
     * 用于查询数据库中的全部用户人数（总用户数+日注册数）
     * @return  {num:总用户数,newInto:日注册数}
     */
    public Map<String,Integer> console();


    /**
     * 用于查询所有用户，并实现分页
     * @param limit 是否分页的标记，true表示分页，false表示查询所有用户
     * @param offset SQL语句的起始索引
     * @param pageNumber 每页查询的数量
     * @return  用户的集合
     */
    public List<Eadmin> findAll(boolean limit, int offset, int pageNumber);

    /**
     * 通过手机号获取查询用户的id信息
     * @param phone 用户手机号
     * @return 返回id值
     */
    public int findByPhone(String phone);


    /**
     * 录入新的用户信息
     * @param eadmin 要录入的用户对象
     * @return 录入的结果，true表示录入成功，false表示录入失败
     */
    public boolean insert(Eadmin eadmin) throws ReCodeException;


    /**
     * 根据用户手机号修改信息
     * @param id 要修改的用户手机号
     * @param newEadmin 需要修改的用户对象
     * @return 返回修改的结果，true表示修改成功，false表示修改失败
     */
    public boolean update(int id,Eadmin newEadmin) throws ReCodeException;


    /**
     * 根据用户的手机号删除信息
     * @param phone 要删除的用户的手机号
     * @return 返回删除的结果，true表示删除成功，false表示删除失败
     */
    public boolean delete(String phone);
}
